package com.dfd.store.domain;

import java.util.ArrayList;
import java.util.List;

/**
 * 购物车
 * 
 * @author Administrator
 *
 */
public class Cart2 {
	// 个数不确定的购物想
	private List<CartItem> list = new ArrayList();
	// 总计和积分
	private double moeny;

	// 添加购物项到购物车
	// 当用户点击加入购物车按钮,将当前的商品的id和数量传递到服务端
	public void addCartItem(CartItem cartItem) {
		// 判断之前买过这个商品没有
		// 如果没有list.add();
		// 如果买过:获取到原先的数量 ,本次和原先的数量相加,
		// 默认为false 没有买过这个商品
		boolean flag = false;
		// 用来存储原先的购物项
		CartItem old = null;
		for (CartItem cartItem2 : list) {
			//相等 就是买过
			if (cartItem2.getProduct().getPid().equals(cartItem.getProduct().getPid())) {
				flag = true;
				old = cartItem2;
			}
		}
		if (flag == false) {
			list.add(cartItem);
		} else {
			// 添加数量
			old.setNum(old.getNum() + cartItem.getNum());
		}
	}

	// 移除购物车
	/**
	 * 当用户点击移除购物项链接的时候,可以将当前的商品的ID传到服务端
	 * 
	 * @param pid
	 */
	public void removeItem(String pid) {
		// 遍历List,看每个CartItem上的product对象上的id是否和服务端获取的pid相等,如果相等,删除当前购物项
		for (CartItem cartItem : list) {
			if (cartItem.getProduct().getPid().equals(pid)) {
				// 删除当前的
				// 调用remove()是无法删除的,必须通过迭代器删除

			}
		}
	}

	// 清空购物车
	public void clearCart() {
		list.clear();
	}
}
